Skip to content

MGMT-22968: Add infrastructure-only mode and Landing Zone VM support#1846

Open
eliorerz wants to merge 2 commits intoopenshift-metal3:masterfrom
eliorerz:MGMT-22968-infra-only-landing-zone
Open

MGMT-22968: Add infrastructure-only mode and Landing Zone VM support#1846
eliorerz wants to merge 2 commits intoopenshift-metal3:masterfrom
eliorerz:MGMT-22968-infra-only-landing-zone

Conversation

@eliorerz
Copy link

This commit adds a new infra_only Makefile target and support for Landing Zone VMs to dev-scripts. This enables users to create baremetal-like test infrastructure (VMs, networks, BMC emulation) without deploying an OpenShift cluster.

Changes:

  1. New infra_only Makefile target

    • Runs 'requirements' and 'configure' steps only
    • Stops before cluster deployment (build_installer, ironic, etc.)
    • Useful for testing external deployment tools (GoRI Lab, custom installers)
  2. Landing Zone VM support

    • Added NUM_LANDINGZONE environment variable (default: 0)
    • Added landingzone flavor with configurable specs:
      • LANDINGZONE_MEMORY (default: 8192 MB)
      • LANDINGZONE_DISK (default: 60 GB) * LANDINGZONE_VCPU (default: 4)
    • Landing Zone VM acts as deployment host with dual network access
  3. Network topology fix for Landing Zone use case

    • Worker VMs: cluster network only (BMC network removed)
    • Landing Zone VM: both BMC and cluster networks
    • Ensures proper network isolation for testing scenarios
    • Only applies when NUM_LANDINGZONE > 0
  4. Documentation updates

    • Added "Infrastructure-Only Mode" section to README
    • Added "Deploying with Landing Zone VMs" section to README
    • Documented network topology and use cases

Use case: Testing external deployment tools that need infrastructure without cluster deployment, such as GoRI Lab for bare metal OpenShift installations.

Backward compatibility: All existing targets (default, agent, assisted) work unchanged. New variables default to 0 (no Landing Zone VMs).

@openshift-ci openshift-ci bot requested review from celebdor and mkowalski January 28, 2026 23:06
@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 28, 2026
@openshift-ci
Copy link

openshift-ci bot commented Jan 28, 2026

Hi @eliorerz. Thanks for your PR.

I'm waiting for a openshift-metal3 member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@eliorerz
Copy link
Author

FYI @carbonin

@mkowalski
Copy link
Member

/ok-to-test

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 29, 2026
@mkowalski
Copy link
Member

/approve

AFAIK what you call "landing zone vm" is called "bastion host" and "landing zone" itself is "everything in my cloud subscription what can possibly interact with each other.

But it's just a naming so whatever works for you, works

@openshift-ci
Copy link

openshift-ci bot commented Jan 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mkowalski

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 29, 2026
@eliorerz
Copy link
Author

/retest

1 similar comment
@eliorerz
Copy link
Author

eliorerz commented Feb 3, 2026

/retest

@dtantsur
Copy link
Member

dtantsur commented Feb 4, 2026

/retest

@elfosardo
Copy link
Member

/retest
failures do not seem related to the patch

@eliorerz eliorerz force-pushed the MGMT-22968-infra-only-landing-zone branch from eee61f9 to a59f828 Compare February 5, 2026 21:09
Add new 'infra_only' Makefile target and Landing Zone VM support to
dev-scripts, enabling creation of baremetal-like test infrastructure
without deploying an OpenShift cluster.

Changes:

1. New 'infra_only' Makefile target
   - Runs 'requirements' and 'configure' steps only
   - Stops before cluster deployment (build_installer, ironic, etc.)
   - Useful for testing external deployment tools

2. Landing Zone VM support
   - Added NUM_LANDINGZONE environment variable (default: 0)
   - Configurable specs: LANDINGZONE_MEMORY (8192 MB), LANDINGZONE_DISK
     (60 GB), LANDINGZONE_VCPU (4)
   - Landing Zone VM has dual network access (BMC and cluster networks)
   - Worker VMs use cluster network only when NUM_LANDINGZONE > 0

3. NetworkManager connection handling fix
   - Fixed nmcli error when cluster network is managed by libvirt
   - Suppress error if NetworkManager connection doesn't exist:
     sudo nmcli con del ${BAREMETAL_NETWORK_NAME} 2>/dev/null || true
   - Prevents make infra_only from failing in CI pipelines

4. Documentation
   - Added "Infrastructure-Only Mode" section to README
   - Added "Deploying with Landing Zone VMs" section to README

Use case: Testing external deployment tools (e.g., GoRI Lab) that need
infrastructure without cluster deployment.

Backward compatibility: All existing targets work unchanged. New variables
default to 0 (no Landing Zone VMs).
@eliorerz eliorerz force-pushed the MGMT-22968-infra-only-landing-zone branch from a59f828 to 1e2c202 Compare February 5, 2026 21:10
@eliorerz
Copy link
Author

eliorerz commented Feb 6, 2026

/retest

1 similar comment
@eliorerz
Copy link
Author

eliorerz commented Feb 9, 2026

/retest

@elfosardo
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 10, 2026
@eliorerz
Copy link
Author

/retest

Allow users to configure a custom libvirt storage pool name instead of
the hardcoded "oooq_pool" default. This is useful for environments that
require specific storage pool naming conventions or want to use existing
pools.

Changes:
- Add LIBVIRT_VOLUME_POOL environment variable with default "oooq_pool"
- Pass libvirt_volume_pool to ansible-playbook in 02_configure_host.sh
- Document the new variable in config_example.sh
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 6, 2026
@openshift-ci
Copy link

openshift-ci bot commented Mar 6, 2026

New changes are detected. LGTM label has been removed.

@openshift-merge-robot
Copy link

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 6, 2026
@openshift-ci
Copy link

openshift-ci bot commented Mar 6, 2026

@eliorerz: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-agent-sno-ipv6 f047027 link false /test e2e-agent-sno-ipv6
ci/prow/e2e-metal-ipi-ovn-dualstack f047027 link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-agent-compact-ipv4 f047027 link true /test e2e-agent-compact-ipv4
ci/prow/e2e-metal-ipi-ovn-ipv6 f047027 link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-agent-compact-ipv4-iso-no-registry f047027 link false /test e2e-agent-compact-ipv4-iso-no-registry
ci/prow/e2e-metal-ovn-arbiter f047027 link false /test e2e-metal-ovn-arbiter
ci/prow/e2e-agent-ha-dualstack f047027 link false /test e2e-agent-ha-dualstack
ci/prow/e2e-metal-ipi-serial-ovn-ipv6 f047027 link false /test e2e-metal-ipi-serial-ovn-ipv6
ci/prow/e2e-metal-ipi-bm-bond f047027 link false /test e2e-metal-ipi-bm-bond
ci/prow/e2e-agent-4control-ipv4 f047027 link false /test e2e-agent-4control-ipv4
ci/prow/e2e-metal-ipi-bm f047027 link true /test e2e-metal-ipi-bm
ci/prow/e2e-agent-5control-ipv4 f047027 link false /test e2e-agent-5control-ipv4
ci/prow/e2e-agent-bad-dns f047027 link false /test e2e-agent-bad-dns
ci/prow/e2e-metal-ipi-virtualmedia f047027 link false /test e2e-metal-ipi-virtualmedia
ci/prow/images f047027 link true /test images
ci/prow/e2e-metal-ipi-serial-ipv4-2of2 f047027 link true /test e2e-metal-ipi-serial-ipv4-2of2
ci/prow/e2e-metal-ipi-serial-ipv4-1of2 f047027 link true /test e2e-metal-ipi-serial-ipv4-1of2

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants